package com.study.system.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.study.system.model.form.MenuForm;
import com.study.system.common.model.Option;
import com.study.system.model.entity.SysMenu;
import com.study.system.model.query.MenuQuery;
import com.study.system.model.vo.MenuVO;
import com.study.system.model.vo.RouteVO;

import java.util.List;
import java.util.Set;


public interface SysMenuService extends IService<SysMenu> {

    
    List<MenuVO> listMenus(MenuQuery queryParams);


    
    List<Option> listMenuOptions();

    
    boolean saveMenu(MenuForm menu);

    
    List<RouteVO> listRoutes();

    
    boolean updateMenuVisible(Long menuId, Integer visible);

    
    Set<String> listRolePerms(Set<String> roles);

    
    MenuForm getMenuForm(Long id);

    
    boolean deleteMenu(Long id);
}
